Сетевые технологии

Лабораторная работа №1

Тойчубекова Асель Нурлановна

Российский университет дружбы народов

2025-09-13

Информация

Докладчик

  • Тойчубекова Асель Нурлановна
  • Студент 3 курса
  • факультет физико-математических и естесвенных наук
  • Российский университет дружбы народов им. П. Лумумбы
  • 1032235033@rudn.ru

Цель работы

Целью данной лабораторной работы является изучение методов кодирования и модуляции сигналов с помощью высокоуровнего языка программирования Octave. Определение спектра и параметров сигнала. Демонстрация принципов модуляции сигнала на примере аналоговой амплитудной модуляции. Исследование свойства самосинхронизации сигнала.

Задание

  1. Построить график функции 𝑦 = sinx + (1/3)sin3x + (1/5)sin5x на интервале [−10; 10], используя Octave и функцию plot. График экспортировать в файлы формата .eps, .png.

  2. Добавить график функции 𝑦 = cosx + (1/3)cos3x + (1/5)cos5xна интервале [−10; 10]. График экспортировать в файлы формата .eps, .png

  3. Разработать код m-файла, результатом выполнения которого являются графики меандра, реализованные с различным количеством гармоник.

  4. Определить спектр двух отдельных сигналов и их суммы.

Задание

  1. Выполнить задание с другой частотой дискретизации. Пояснить, что будет,если взять частоту дискретизации меньше 80 Гц?

  2. Продемонстрировать принципы модуляции сигнала на примере аналоговой амплитудной модуляции.

  3. По заданных битовых последовательностей требуется получить кодированные сигналы для нескольких кодов, проверить свойства самосинхронизуемости кодов, получить спектры.

Теоретическое введение

Сигнал — это физическая величина, изменяющаяся во времени и несущая информацию. Он может быть аналоговым или дискретным. Для перевода в цифровую форму используется дискретизация и квантование, выполняемые аналого-цифровым преобразователем. Согласно теореме Котельникова, частота дискретизации должна быть более чем в два раза выше максимальной частоты сигнала.

Теоретическое введение

Для анализа применяют спектральное разложение, основанное на ряде и преобразовании Фурье, что позволяет выделить амплитуды и фазы гармонических составляющих. В цифровой обработке используются дискретное и быстрое преобразования Фурье.

Теоретическое введение

При передаче данных применяется модуляция — изменение амплитуды, частоты или фазы несущего колебания. Для представления двоичной информации используются различные способы кодирования сигналов: NRZ, AMI, RZ, а также коды Манчестер и дифференциальный Манчестер.

Теоретическое введение

Для моделирования и обработки сигналов в учебных задачах широко используется язык Octave. Он поддерживает работу с матрицами, содержит набор встроенных математических функций и средства визуализации, что делает его удобным инструментом для анализа сигналов.

Выполнение лабораторной работы

Выполнение лабораторной работы

Запускаю в вашей ОС Octave с оконным интерфейсом. Перехожу в окно редактора. Воспользовавшись меню или комбинацией клавиш ctrl + n создаю новый сценарий. Сохраняю его в рабочий каталог с именем, plot_sin.m. В окне редактора повторяю листинг по построению графика функции y = sinx + (1/3)sin3x + (1/5)sin5x на интервале [−10; 10]

Выполнение лабораторной работы

Скрипт построение графика функции

Выполнение лабораторной работы

Запускаю сценарий на выполнение. В качестве результата выполнения кода открылось окно с построенным графиком и в рабочем каталоге появились файлы с графиками в форматах .eps, .png.

Выполнение лабораторной работы

графика функции y = sinx + (1/3)sin3x + (1/5)sin5x на интервале [−10; 10]

Выполнение лабораторной работы

Сохраняю сценарий под другим названием и изменяю его так, чтобы на одном графике располагались отличающиеся по типу линий графики функций y = cosx + (1/3)cos3x + (1/5)cos5x на интервале [−10; 10].

Выполнение лабораторной работы

Скрипт построения графика функций y1 и y2 на интервале [−10; 10]

Выполнение лабораторной работы

Итоговое изображение

Графика функций y1 и y2 на интервале [−10; 10]

Выполнение лабораторной работы

Создаю новый сценарий и сохраните его в рабочий каталог с именем, meandr.m. В коде созданного сценария задаю начальные значения

Задание начальные значения

Выполнение лабораторной работы

Разложение импульсного сигнала в форме меандра в частичный ряд Фурье можно задать формулой. Гармоники, образующие меандр, имеют амплитуду, обратно пропорциональную номеру соответствующей гармоники в спектре.

Выполнение лабораторной работы

Формула разложение импульсного сигнала

Выполнение лабораторной работы

Далее задаю массив значений гармоник массив элементов ряда.

Задание массив значений гармоник массив элементов ряда

Выполнение лабораторной работы

Далее для построения в одном окне отдельных графиков меандра с различным количеством гармоник реализую суммирование ряда с накоплением и воспользуюсь функциями subplot и plot для построения графиков.

Выполнение лабораторной работы

Функциями subplot и plot для построения графиков

Выполнение лабораторной работы

Экспортирую полученный график в файл в формате .png.

Создание файла в формате .png

Выполнение лабораторной работы

Итоговый график.

Графики меандра, содержащего различное число гармоник

Выполнение лабораторной работы

В рабочем каталоге создаю каталог spectre1 и в нём новый сценарий с именем, spectre.m. В коде созданного сценария задаю начальные значения.

Задание начальных значений

Выполнение лабораторной работы

Далее в коде задаю два синусоидальных сигнала разной частоты.

Задание два синусоидальных сигнала

Выполнение лабораторной работы

Строю графики сигналов.

График сигналов

Выполнение лабораторной работы

Итоговый график.

Два синусоидальных сигнала разной частоты

Выполнение лабораторной работы

С помощью быстрого преобразования Фурье нахожу спектры сигналов, добавив в файл spectre.m следующий код.

Выполнение лабораторной работы

Нахождения спектра сигналов

Выполнение лабораторной работы

Учитывая реализацию преобразования Фурье, корректирую график спектра: отбрасываю дублирующие отрицательные частоты, а также принимаю в расчёт то, что на каждом шаге вычисления быстрого преобразования Фурье происходит суммирование амплитуд сигналов.Итоговый график.

Выполнение лабораторной работы

График спектров синусоидальных сигналов

Выполнение лабораторной работы

Нахожу спектр суммы рассмотренных сигналов, создав каталог spectr_sum и файл в нём spectre_sum.m с кодом.

Выполнение лабораторной работы

Спектр суммы рассмотренных сигналов

Выполнение лабораторной работы

В результате получается аналогичный предыдущему результат, т.е. спектр суммы сигналов должен быть равен сумме спектров сигналов, что вытекает из свойств преобразования Фурье.

Выполнение лабораторной работы

Спектр суммарного сигнала

Выполнение лабораторной работы

В рабочем каталоге создаю каталог modulation и в нём новый сценарий с именем am.m.

Принципы модуляции сигнала на примере аналоговой амплитудной модуляции

Выполнение лабораторной работы

В результате получаю, что спектр произведения представляет собой свёртку спектров.

Спектр сигнала при амплитудной модуляции

Выполнение лабораторной работы

В рабочем каталоге создаю каталог coding и в нём файлы main.m, maptowave.m, unipolar.m, ami.m, bipolarnrz.m, bipolarrz.m, manchester.m, diffmanc.m, calcspectre.m.

Выполнение лабораторной работы

Создание каталога и файлов

Выполнение лабораторной работы

В окне интерпретатора команд проверяю, установлен ли у вас пакет расширений signal. Она у меня установлена.

Пакет расширений signal

Выполнение лабораторной работы

В файле main.m подключаю пакет signal и задаю входные кодовые последовательности.

Редактирование main.m

Выполнение лабораторной работы

Затем в этом же файле прописваю вызовы функций для построения графиков модуляций кодированных сигналов для кодовой последовательности data.

Выполнение лабораторной работы

Редактирование main.m

Выполнение лабораторной работы

Затем в этом же файле прописываю вызовы функций для построения графиков модуляций кодированных сигналов для кодовой последовательности data_sync.

Выполнение лабораторной работы

Редактирование main.m

Выполнение лабораторной работы

Далее в этом же файле прописываю вызовы функций для построения графиков спектров.

Выполнение лабораторной работы

Редактирование main.m

Выполнение лабораторной работы

В файле maptowave.m пропишите функцию, которая по входному битовому потоку строит график сигнала.

Редактирование maptowave.m

Выполнение лабораторной работы

В файлах unipolar.m, ami.m, bipolarnrz.m, bipolarrz.m, manchester.m, diffmanc.m прописываю соответствующие функции преобразования кодовой последовательности data с вызовом функции maptowave для построения соответствующего графика. Униполярное кодирование:

Выполнение лабораторной работы

Редактирование unipolar.m

Выполнение лабораторной работы

Кодирование AMI:

Редактирование ami.m

Выполнение лабораторной работы

Кодирование NRZ:

Редактирование bipolarnrz.m

Выполнение лабораторной работы

Кодирование RZ:

Редактирование bipolarrz.m

Выполнение лабораторной работы

Манчестерское кодирование:

Редактирование manchester.m

Выполнение лабораторной работы

Дифференциальное манчестерское кодирование:

Редактирование diffmanc.m

Выполнение лабораторной работы

В файле calcspectre.m прописываю функцию построения спектра сигнала.

Редактирование calcspectre.m

Выполнение лабораторной работы

Запускаю главный скрипт main.m. В каталоге signal получены файлы с графиками кодированного сигнала.

Выполнение лабораторной работы

Каталоге signal

Выполнение лабораторной работы

В каталоге sync— файлы с графиками, иллюстрирующими свойства самосинхронизации.

Выполнение лабораторной работы

Каталоге sync

Выполнение лабораторной работы

В каталоге spectre — файлы с графиками спектров сигналов.

Выполнение лабораторной работы

Каталоге spectre

Выводы

В ходе выполнения лабораторной работы № 1 я изучила методы кодирования и модуляции сигналов с помощью высокоуровнего языка программирования Octave. Определила спектр и параметр сигнала. Демонстрировала принципы модуляции сигнала на примере аналоговой амплитудной модуляции. Исследовала свойства самосинхронизации сигнала.